2.定义设备信息
到了这里您看到定义设备信息的标题,您可能会问这个有什么用啊!让我来告诉您,这一步是整个系统中最关键的一步。事实上每个开发者都有自己的设备,每个人都有自己的梦想。您的设备想干嘛,我们也不知道。而设备信息文件就是告诉我们您的设备是怎么样的,有哪些神奇的功能。
设备信息文件以xml(XML是各种应用程序之间进行数据传输的最常用的格式中的一种)格式组织。其中包括了一些基本信息和您的自定义信息。
一个标准的设备信息如下所示。
<dev>
<dev_id>demo00</dev_id>
<name>smart dev</name>
<model>Smart-type-zero</model>
<maker>wang dehui</maker>
<timezone>8</timezone>
<longitude>104.06</longitude>
<latitude>30.67</latitude>
<height>160</height>
<keep_online>0</keep_online>
<data>
<id>1</id>
<name>CPU温度</name>
<remark>单位为摄氏度</remark>
<unit>°C</unit>
<storage>amass</storage>
</data>
<data>
<id>3</id>
<name>风景</name>
<remark>窗外的风景</remark>
<unit>sys/file-image</unit>
<storage>latest</storage>
</data>
<data>
<id>4</id>
<name>CPU负载</name>
<remark>5分钟平均负载</remark>
<unit>%</unit>
<storage>latest</storage>
</data>
<apis>
<api>
<id>1</id>
<name>LED开</name>
</api>
<api>
<id>3</id>
<name>风扇转速</name>
<remark>设置风扇转速</remark>
<arg>
<name>转速</name>
<remark>设置风扇转速</remark>
<unit>r/min</unit>
</arg>
</api>
</apis>
</dev>
每个标签(在xml中<标签></标签>表示一组标签)的意义分别为:
<dev_id> 设备guid1号,必须
<name> 设备名称
<model> 设备型号
<maker> 制造商
<timezone> 设备所在地时区,东时区为正数;西时区为负数,必须
<longitude> 设备所处位置经度
<latitude> 设备所处位置维度
<height> 设备所处位置高度
<keep_online> 在线心跳发送间隔,为0表示无须在线检测;>0为在线心跳发送间隔,单位为分钟
<data> 上传参数信息定义块
<id> 参数唯一id号,必须
<name> 参数名称
<remark> 参数说明
<unit> 参数单位,必须
<storage> amass-积累存储;latest-仅保存最新值
<apis> 设备所有控制信息定义块
<api> 定义一个控制指令
<id> 指令唯一id号,必须
<name> 控制指令名称
<remark> 控制指令说明
<arg> 定义控制指令参数
<name> 控制参数名称
<remark> 控制参数说明
<unit> 控制参数单位
xml格式要求比较严格,格式错误系统将无法正确解析xml内容。因此,我们官网提供了在线生成xml字符串小工具。建议您使用我们提供的工具生成xml描述信息。地址如下:
http://www.swaylink.cn/swaylink.php/King/Index/cxml.html
下面介绍该工具的用法。如图所示:
图中,总共有三部分组成,分别为设备基本信息,设备上传参数信息,和设备控制参数信息。您需要把您设备的信息填写完整。设备上传参数中的单位汉字字母都可以,参数类型累积性表示系统将要保存持久数据,而非累积这保留最新数据;若有多个参数需要上传者点击data按钮就可以再添加一组。设备控制设备控制参数信息为非必须部分,可以没有;其中apis表示一个控制单位,一个控制单位可有一个或多个控制参数组成;比如表示地点,这需要由经度纬度两个控制参数组成,这时候就点击参数按钮,就可以生成一个控制参数。同样的,一个设备可能有0-n个控制单位组成,可以通多点击apis生成。
最后,点击生成按钮,就可以生成请求post请求头部以及xml文件了。其中v=2.0&dev_id=000001&load=